package com.geeguo.ebuilder.operation.business.tenant.tenantinfo.service;

import com.geeguo.ebuilder.core.common.model.vo.PageListVO;
import com.geeguo.ebuilder.operation.business.tenant.tenantinfo.model.TenantInfoEntity;
import com.geeguo.ebuilder.operation.business.tenant.tenantinfo.model.TenantInfoQuery;
import com.geeguo.ebuilder.operation.business.tenant.tenantinfo.model.TenantInfoCO;
import com.geeguo.ebuilder.operation.business.tenant.tenantinfo.model.TenantInfoVO;

import java.util.List;

public interface TenantInfoService {

    PageListVO<TenantInfoVO> list(TenantInfoQuery query);
    List<TenantInfoVO> listValid();

    TenantInfoVO get(String id);
    TenantInfoVO getByCode(String code);
    TenantInfoVO getByDomain(String domain);
    TenantInfoCO getCached(String id);
    
    boolean save(TenantInfoEntity entity);
    
    boolean update(TenantInfoEntity current, TenantInfoEntity old);
    
    boolean remove(String id);
}
